package po

import "time"

// 网关服务配置
type GatewayServer struct {
	ID uint `gorm:"primarykey"`
	// GroupId 是分组标识
	GroupId string
	// GroupName 是分组名称
	GroupName string
}

// 网关服务明细
type GatewayServerDetail struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	UpdatedAt time.Time
	// GroupId 是分组标识
	GroupId string
	// GatewayId 是网关标识
	GatewayId string
	// GatewayName 是网关名称
	GatewayName string
	// GatewayAddress 是网关地址
	GatewayAddress string
	// Status 是服务状态
	Status int
}

// 网关分配
type GatewayDistribution struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	UpdatedAt time.Time
	// GroupId 是分组标识
	GroupId string
	// GatewayId 是网关标识
	GatewayId string
	//系统表示
	SystemId string
	//系统名称
	SystemName string
}

// 接口方法
type ApplicationInterfaceMethod struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	UpdatedAt time.Time
	// SystemId 是系统标识
	SystemId string
	// InterfaceId 是接口标识
	InterfaceId string
	// MethodId 是方法标识
	MethodId string
	// MethodName 是方法名称
	MethodName string
	// ParameterType 是参数类型(RPC 限定单参数注册)
	ParameterType string
	// Uri 通过httpUrl匹配的地址
	Uri string
	// HttpCommandType 是接口类型；GET、POST、PUT、DELETE
	HttpCommandType string
	// Auth 是是否鉴权；true = 1是、false = 0否
	Auth int
}

// 应用接口
type ApplicationInterface struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	UpdatedAt time.Time
	// SystemId 是系统标识
	SystemId string
	// InterfaceId 是接口标识
	InterfaceId string
	// InterfaceName 是接口名称
	InterfaceName string
	// InterfaceVersion 是接口版本
	InterfaceVersion string
}

// 应用服务
type ApplicationSystem struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	UpdatedAt time.Time
	// SystemId 是系统标识
	SystemId string
	// SystemName 是系统名称
	SystemName string
	// SystemType 是系统类型，比如RPC或HTTP
	SystemType string
	// SystemRegistry 是注册中心的地址nacos://127.0.0.1:8848
	SystemRegistry string
}
